﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestWork1
{
    class Program
    {
        static void Main(string[] args)
        {
            //string input = Console.ReadLine();
            //int number;
            //if (Int32.TryParse(input, out number))
            //{
            //    number = CalculateSum(number);
            //    Console.WriteLine(number);
            //}
            //else
            //{
            //    Console.WriteLine("Ошибка. Введите корректное число.");
            //}

            //double x1 = Int32.Parse(Console.ReadLine());
            //double y1 = Int32.Parse(Console.ReadLine());l
            //DetermineQuarter(x1, y1);
            //double x2 = Int32.Parse(Console.ReadLine());
            //double y2 = Int32.Parse(Console.ReadLine());

            //double result = FindDistanceBexweenXAndY(x1, y1, x2, y2);
            //Console.WriteLine(result);


            Console.WriteLine("Введите длину рамки");
            int length = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Введите высоту рамки");
            int height = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Введите символ");
            string symbol = Console.ReadLine();
            PrintSymbolFrame(length, height, symbol);

            //RndArray();

            //MinAndMaxArray();

        }

        public static int IncreaseByTen(int number)
        {
            int result = number + 10;
            return result;
        }

        public static int CalculateSum(int number)
        {
            int result = 0;
            int[] array = new int[number + 1];
            array[0] = 0;
            for (int i = 1; i <= number; i++)
            {
                array[i] = array[i - 1] + 1;
                result += array[i];
            }
            return result;
        }

        public static double FindDistanceBexweenXAndY(double x1, double y1, double x2, double y2)
        {
            double result = Math.Sqrt ((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
            return result;
        }

        public static void DetermineQuarter(double x, double y)
        {
            if (x == 0 && y == 0)
            {
                Console.WriteLine("Точка находится в начале отсчета (0.0).");
            }
            else if (x > 0 && y > 0)
            {
                Console.WriteLine("Первая четверь.");
            }
            else if (x < 0 && y > 0)
            {
                Console.WriteLine("Вторая четверь.");
            }
            else if (x < 0 && y < 0)
            {
                Console.WriteLine("Третья четверь.");
            }
            else if (x > 0 && y < 0)
            {
                Console.WriteLine("Четвертая четверь.");
            }
            else if (x == 0 && y != 0)
            {
                Console.WriteLine("Точка лежит на оси Y.");
            }
            else if (x != 0 && y == 0)
            {
                Console.WriteLine("Точка лежит на оси X.");
            }
        }

        public static void PrintSymbolFrame (int lenght, int height, string symbol)
        {
            for (int i = 0; i < height; i++)
            {
                if (i == 0 || i == height-1)
                {
                    for (int j = 0; j < lenght; j++)
                    {
                        if (j == lenght-1)
                        {
                            Console.Write(symbol);
                            Console.Write("\n");
                        }
                        else
                        {
                            Console.Write(symbol);
                        }
                    }
                }
                else
                {
                    Console.Write(symbol);
                    for (int k = 0; k < lenght-2; k++)
                    {
                        Console.Write(' ');
                    }
                    Console.Write(symbol);
                    Console.Write("\n");
                }
            }
        }

        public static void RndArray()
        {
            int[] array = new int[5];
            Random rnd = new Random();
            int evenCount = 0;
            int oddCount = 0;
            for (int i = 0; i < 5; i++)
            {
                array[i] = rnd.Next(1, 1001);
                if (array[i] % 2 == 0)
                {
                    evenCount++;
                }
                else
                {
                    oddCount++;
                }
                Console.WriteLine(array[i]);
            }
            Console.WriteLine("Количество нечётных чисел: {0}", oddCount);
            Console.WriteLine("Количество чётных чисел: {0}", evenCount);
        }

        public static void MinAndMaxArray()
        {
            int[] array = new int[20];
            Random rnd = new Random();
            int maxElementCount = 0;
            int minElementCount = 0;
            int min = Int32.MaxValue;
            int max = Int32.MinValue;
            for (int i = 0; i < 20; i++)
            {
                array[i] = rnd.Next(1, 20);
                Console.Write("{0} ", array[i]);
                if (array[i] < min)
                {
                    min = array[i];   
                }
                else if (array[i] > max)
                {
                    max = array[i];
                }
            }
            for (int i = 0; i < 20; i++)
            {
                if (array[i] == min)
                {
                    minElementCount++;
                }
                else if (array[i] == max)
                {
                    maxElementCount++;
                }
            }
            Console.WriteLine();
            Console.WriteLine("Количество вхождений максимального элемента: {0}, минимального - {1}", maxElementCount, minElementCount);
            for (int i = 0; i < 20; i++)
            {
                if (array[i] == min)
                {
                    Console.WriteLine("Точка первого вхождения минимального элемента - {0}, элемент - {1}", i+1, min);
                    break;
                }

            }
            for (int i = 0; i < 20; i++)
            {
                if (array[i] == max)
                {
                    Console.WriteLine("Точка первого вхождения максимального элемента - {0}, элемент - {1}", i+1, max);
                    break;
                }
            }
            
        }

        static void PrintArrayToConsole(int[] arrayForPrint)
        {
            for (int i = 0; i < arrayForPrint.GetLength(0); i++)
            {
                Console.Write("{0} ", arrayForPrint[i]);
            }
        }

        
    }
}
